home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
- SPRINGER
-
- A Chess Playing Program for the IBM PC
-
-
- Version 1.0
- Released 9 January 1989
-
-
-
- (C) Copyright 1989 by Ken Goodman
-
-
-
-
-
-
-
- INTRODUCTION
- ------------
-
- Springer is a chess program for the IBM PC which offers several
- levels of varying playing strength to challenge the vast majority
- of human players, as well as an excellent on-screen display of
- the chess position. The playing strength of this program is,
- quite frankly, not quite as good as that of the best commercial
- programs, though most human players should find it more than
- adequate in this respect. In several ways (including playing
- strength) I believe this program is far superior to all others I
- have seen released as shareware products or in the public domain.
-
- You should have no trouble using the program if you already know
- how to play chess. Springer starts out in its normal playing
- mode, with the board shown on-screen in the format of a standard
- chess diagram. Moves are entered by using the "arrow" keys to
- move an indicator around the chess board and the Enter key to
- select the piece you want to move and the square you want to move
- it to. If you press an invalid key, a help screen/menu will
- appear, providing brief instructions and allowing single-key
- access to special functions such as saving/recalling games in
- disk files.
-
- This document provides some detailed information about Springer
- and how to use the program, but assumes that you already know the
- rules of chess. Novices should be aware that Springer knows and
- makes use of the special moves of Castling and En Passant
- capture. Please refer to a suitable chess book or primer for
- details of these special moves or other rules of chess.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The major features offered by Springer are:
-
- * 10 levels of play to suit almost any user's playing strength
- * Excellent display of chess board with Color Graphics Adapter
- * Good display of board on a monochrome or text-only system
- * Diagram of chess position on Epson or compatible printer
- * Printout of complete game record in Algebraic chess notation
- * Ability to save and recall complete games on disk
- * Easy entry of moves using arrow keys and on-screen cursor
- * Referee mode to supervise games between two players
- * Autoplay mode: any level against any other level
- * Step backward/forward to review game move-by-move
-
-
- NORMAL PLAY
- -----------
-
- Springer starts by displaying a banner to identify the program
- and version, then after a short delay enters its NORMAL playing
- mode. The starting position is displayed, and the game begins
- with the user playing the White pieces against the computer
- opponent "Springer Lev1". The message area to the right of the
- chess board shows that it is "Your move." Please note that the
- players are identified by names printed at the top and bottom of
- the board. As in standard chess diagrams, White starts from the
- bottom of the diagram, and Black from the top. Also note that
- NORMAL playing mode is indicated in the upper right corner of the
- screen.
-
- Press a key and the square containing your King is highlighted,
- and the message area asks "Piece?" To begin a game, make a move
- by selecting a piece to move, then a square to move it to. Use
- the cursor keys (up, down, left and right arrows, and Home, PgUp,
- End and PgDn for diagonal directions) to move the highlighted
- square (the cursor) around on the board. After moving the cursor
- to highlight the piece you wish to move, press the Enter key,
- then move the cursor to the square you wish to move to in answer
- to the "Destination?" prompt. Springer will then show the move
- being made on the board, then choose and make a move of its own.
- If you try to make an illegal move, Springer will tell you so,
- and the move entry process will be repeated.
-
- Special moves: Castling is entered by moving your King two
- squares left or right; the Rook's movement will automatically be
- shown on the board to complete the move. En Passant captures are
- entered just as the normal pawn capture would be entered: by
- selecting the starting and ending squares of the capturing pawn.
-
- Want to use Springer's commands to change playing level, swap
- sides, etc? Press the ESC key at your turn and a menu and brief
- instructions will be displayed. If you know the simple key
- sequences for the commands you want to use, you can bypass the
- menu by pressing the * key instead of ESC, then the primary
- command key. Bypassing the menu in this way keeps the board
- display on the screen for commands that don't require additional
-
- 2
-
-
-
-
-
-
-
-
-
- input. Springer also accepts commands typed on the command line
- used to run the program. In this case, * is used to begin a
- command, and / substitutes for the Enter key required by some
- commands.
-
- Some examples: To play Black against the computer, use the
- Swap-sides command at the beginning of the game (using the S
- option from the menu, or by pressing the keys * S). To change to
- playing level 5, the command sequence * (or ESC for the menu) O
- (for Options) L (for Level) 5 / is required. Starting Springer
- from DOS with the command line "SPRINGER *OL5/*S" will start a
- game with the user playing Black against "Springer Lev5".
-
- If you have a suitable graphics adapter, Springer automatically
- shows the board using CGA 320x200 graphics and 4 colors, while if
- your computer has a text-only display adapter, the board is shown
- using text and special characters to represent the pieces. If
- you have a graphics adapter attached to a monochrome monitor, you
- may wish to force Springer to use text mode to display the board,
- since light and dark squares may be hard to distinguish. You can
- use the Options command to enable or disable graphics, as well as
- sounds normally produced by the program.
-
- Is Springer taking too long to make a move? Press ESC to force
- the program to quit thinking and make a move. Of course this
- will have some effect on the quality of Springer's move. Also,
- the program's thinking time is relatively constant throughout the
- game, and is up to the user through the choice of playing level,
- as shown by the APPROXIMATE time chart below:
-
- Level 0 1 2 3 4 5 6 7 8 9
- ---------+----+----+----+----+----+----+----+----+----+---
- Min Time 0 5 10 15 20 25 30 35 40 45
- Max Time 5 25 45 65 85 105 125 145 165 185
-
- (Times are in seconds, and Max Time depends slightly on CPU.)
-
- AUTOPLAY AND REFEREE MODES
- --------------------------
-
- If you wish, you can make Springer play against itself by
- changing to AUTOPLAY mode using the A key from the command menu.
- You will be prompted for playing levels for White and Black, and
- you can choose to pit any level against any other level. It
- might be entertaining, for instance, to watch "Springer Lev5"
- play a game against "Springer Lev1". To get out of AUTOPLAY
- mode, you can wait for either side to make a move, then press the
- ESC key to go to the command menu, from which you can switch to
- NORMAL or REFEREE mode, quit and start a new game, exit to DOS,
- etc. To get out of AUTOPLAY immediately, you can press ESC
- twice: the first ESC forces Springer to quit thinking about its
- move, and the second ESC calls up the menu.
-
- In REFEREE mode, two people can play a game against each other,
- with Springer keeping track of the game and checking each move
-
- 3
-
-
-
-
-
-
-
-
-
- for legality. REFEREE mode is also used to step backwards and
- forwards through a game to review it one move at a time. I use
- REFEREE mode to store and review my own tournament or casual
- chess games, and to review them and print game scores to share
- with friends. In order to keep track of such games, you can use
- the Title command to enter a heading for the game (printed as
- part of the game record) as well as a name for each player
- involved. If you intend to use REFEREE mode this way, you should
- know that changing between REFEREE, AUTOPLAY and NORMAL modes
- alters the player names, so the best way is to enter REFEREE
- mode, enter the heading and names, play through the game, and
- then save it to an appropriately named disk file. In addition to
- the Title option, the Draw and Resign options are available (in
- REFEREE mode only) to correctly enter results of games recorded
- this way.
-
- You can switch between the different modes of play at any time,
- and Springer automatically changes its mode when certain commands
- are executed. For example, when a game is recalled from a disk
- file, or when the takeback or replay commands are used, Springer
- automatically enters REFEREE mode. You can change modes
- afterward, of course, and when you change from REFEREE to NORMAL
- mode you will be assigned the side whose turn it is to move.
-
-
- REVIEWING GAMES
- ---------------
-
- Games played with Springer can be reviewed one move at a time
- using the takeback and replay (- and +) commands. This works out
- nicely using the key sequences * - and * + with the chess board
- always displayed. The rewind and fast-forward commands (using
- the [ and ] keys) can be used to rapidly back up all the way to
- the beginning of a game (or as far as desired) and watch the game
- being replayed from start to finish (or stopping at any point in
- between).
-
- The rewind command ([) takes back moves one after another until
- the beginning of the game is reached or a key is pressed,
- redrawing the board between moves. If all you want to do is back
- up as quickly as possible to the start of a game, you should do
- this either using the menu or in text mode, but if you want to
- watch the position closely while backing up, use graphics mode.
- Fast-forward replays the game one move after another until a key
- is pressed or the end is reached, showing each move clearly on
- the board. I tend to use these commands to find the part of a
- game I'm interested in, then use takeback and replay to study
- that part of the game in detail. To me, this is one of the nice
- things about Springer: it's so much easier to play through games
- this way than with a real chess board and pieces -- and much
- easier to set up for a new game!
-
- Notice that whenever you use any of the above commands, Springer
- automatically switches to REFEREE mode. You can use the takeback
- command to give yourself a second chance if you enter the wrong
-
- 4
-
-
-
-
-
-
-
-
-
- move, taking back the computer's reply, then your original move,
- then switching back to NORMAL mode to enter your new move. If
- you make a bad move and need to take it back this way, go right
- ahead -- but don't forget to chalk one up to Springer!
-
-
- PRINTING GAMES/POSITIONS
- ------------------------
-
- You can use the Printer commands to print a record of the current
- game or a diagram of the current position. Printed output goes
- to the LPT1 device.
-
- Game records are printed as numbered lists of moves in two
- columns (for White and Black) using standard Algebraic chess
- notation, which is the same notation used to indicate the last
- move in Springer's on-screen display. If you are unfamiliar with
- this notation, it shouldn't be too hard to learn by paying
- attention to the way Springer displays moves during the course of
- a game. The basis of this system of notation is the unique name
- given to each square on the board: each file (vertical column of
- squares on the diagram) is called by a letter a-h, while each
- rank (horizontal row) is numbered 1-8, always starting with a1 in
- the lower left corner of the diagram (White's Queen's Rook
- square). A typical move is described by indicating the type of
- piece moved and the ending square (Nf3 means Knight to f3), or
- just the ending square for pawn moves (e.g. e5 for Pawn to e5).
- Captures are indicated by an x, as in Nxf6. If another piece of
- the same type could have moved to the same square, both starting
- and ending squares are given (Nb1d2 means Knight from b1 to d2).
- King- and Queen-side castling are indicated by O-O and O-O-O,
- respectively.
-
- Diagrams of the current position are printed using dot-matrix
- graphics, and thus require a printer compatible with Epson
- graphics commands. They are printed in a very legible format,
- with a board size of approximately 2.5" square. Together with a
- printed list of moves, these diagrams provide a nice hardcopy
- record of the game.
-
-
- SAVED GAMES AND DISK FILES
- --------------------------
-
- The Memory commands provide a way to store and retrieve complete
- games on disk. For each game you wish to Save or Recall, you
- must provide a complete DOS filename for a disk file to be either
- read or written by Springer. You can specify any disk or
- directory path as part of the filename. A List command is also
- provided to show games that have already been saved on the
- current disk directory. Each game file will take up 1024 bytes
- of disk space, regardless of the length of the game. When a game
- is Recalled from a file, the last position of the game is
- reconstructed, and play resumes from this point. These disk
- functions are the only feature of Springer requiring a version of
-
- 5
-
-
-
-
-
-
-
-
-
- DOS more recent than 1.0.
-
- There is plenty of room on a 360k DOS-formatted diskette for many
- of your own saved game files, in addition to a copy of the
- program file SPRINGER.COM. The distribution disk contains a
- batch file CHESS.BAT which can be used to start Springer with
- non-standard option settings. You can edit this batch file,
- which contains a single command line, so that typing the command
- "CHESS" will start a game with the display, level, and other
- options set the way you like them, and then carry around your own
- Springer setup and games on a single floppy disk.
-
- Included on the distribution disk are a few example games you may
- wish to look at, as well as a file containing this document. See
- the file "READ.ME" for a list of the distribution files.
-
-
- BACKGROUND
- ----------
-
- This section gives the history of Springer, and is included for
- user interest as well as for my own personal gratification.
-
- Springer began in 1983 as one of several half-hearted projects of
- the small electronics company I worked for at the time. After
- devoting a minimum of time and effort (mine) to this project, the
- company decided it would never result in a marketable product and
- ceased work on the project entirely, and has thereafter abandoned
- all such activities in favor of purely industrial markets.
-
- Since leaving this company in 1988 I have resurrected Springer
- and made many substantial improvements to the program, in playing
- strength as well as features such as ease of use,
- saving/recalling games on disk, printing positions and game
- scores, etc. It is my intention to continue improving this
- program, and I anticipate a dramatic increase in playing strength
- in the near future.
-
- Springer was written entirely in 8086 assembly language, for two
- reasons: (1) Speed performance was critical. (2) No good
- compiler language was available to me at the beginning of this
- project (Anyone remember IBM's FORTRAN and Pascal versions 1.0?
- At least MASM 1.0 WORKED!). Certain portions of such a program
- are best written in assembly language for maximum performance,
- but less demanding features such as disk and printer I/O,
- handling player input, etc. could have been dealt with much
- easier using a good Pascal compiler, for instance.
-
- This program was begun when I was new to the 8086 architecture
- and instruction set, and it contains a mixture of well-written
- and not-so-well written sections of code. As always, I like to
- think that a rewrite at this time would produce much slicker,
- more polished source code. The philosophy behind choosing the
- computer's move also underwent some radical changes during the
- course of development, and the most major change in this respect
-
- 6
-
-
-
-
-
-
-
-
-
- was just beginning when the original project was scrapped. I
- have completed this change, which affects playing strength, as
- well as completing the user interface features, and I believe
- Springer is now a product worthy of your attention.
-
- It turns out to be relatively easy for me to add or rearrange
- major feature of the program now, despite the vast bulk of its
- source code, and I intend to continue working on the program as
- time and money permit, improving playing strength and adding or
- improving peripheral features. I sincerely hope that you and
- your friends will enjoy using Springer, and I welcome any
- comments or suggestions you may have.
-
-
- RIGHTS AND DISTRIBUTION
- -----------------------
-
- Springer is protected by copyright laws, though you are
- encouraged to copy and share the unmodified program (Version 1.0)
- and this documentation. If you find this program useful or
- enjoyable, please help me continue to improve it, both by paying
- the modest price of the latest available version, and by offering
- your comments and suggestions.
-
- About bugs: In the context of a program like this, what is a bug?
- A programming error that makes your computer lock up, displays
- gibberish on the screen, etc. obviously qualifies. If Springer
- makes an illegal move, fails to correctly recall a game you
- saved, etc. something is definitely wrong. An error that
- results in silly or even stupid moves by the computer is much
- more subtle, and much more difficult to diagnose as a true
- programming error. After all, it may reflect a flaw in the
- philosophy behind Springer's design, and not an error in
- implementation. In any case, if you think you've found a bug in
- Springer and are willing to take the trouble to report it, please
- be specific regarding what you are doing when the bug shows
- itself, as well as about exactly what happens afterward.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 7
-
-
-
-
-
-
-
-
-
- An updated version of Springer is available directly from the
- author, along with a collection of 60 of Bobby Fischer's best
- games on the same 5.25" diskette. To receive the latest version
- available, send $12 to
-
- Ken Goodman
- 218 N. 29th St.
- Opelika, AL 36801
-
- Please do not distribute unauthorized copies of this game
- collection, or of versions of Springer other than version 1.0.
- Complete source code for Springer (version 1.0 only) is also
- available for the extremely curious. It is available on a single
- 5.25" diskette in the form of 8086 assembly language for $80.
- The source code can be used or modified for the personal benefit
- of the purchaser, but is not to be distributed, nor is it to be
- used for any commercial purpose, without the prior written
- permission of the author.
-
- If you have specific errors to report, or specific changes to
- suggest, please include them with your order. If possible, I
- will include any error corrections or useful changes to the
- program in the version I send you. If this is not practical,
- then I will send you an updated version containing any useful
- changes you suggest as soon as it becomes available, in addition
- to prompt shipment of the latest release available when you
- order.
-
- Alabama residents: please add 4% sales tax.
- For foreign orders, add appropriate postage for international
- mail delivery.
-
- DISCLAIMER: No warranty of any kind is claimed for this software
- product, and the author specifically disclaims any implied
- warranty of merchantability or fitness for a particular purpose,
- as well as any responsibility for incidental or consequential
- damages. Media conveying this software and purchased directly
- from the author, if found to be physically defective in materials
- or workmanship, will be replaced if returned within 10 days of
- receipt.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 8
-
-
-
-